
#ifndef _CSOUND_H_
#define _CSOUND_H_

#include <map>
#include <SDL.h>

class CSound
{
public:
	CSound();
	~CSound();

	bool Load(std::string Filename);
	void SetRepeat(int count);

	void Play();
	void Pause();
	void Stop();

private:
	int m_reps;
};

class CSoundManager
{
public:
	CSoundManager();
	~CSoundManager();

	Uint32 CreateSound(std::string Filename);

	void Remove(Uint32 SoundId);
	void RemoveAll();

	void Pause(Uint32 SoundId);
	void PauseAll();

	void Stop(Uint32 SoundId);
	void StopAll();

	void Play(Uint32 SoundId);
	void PlayAll();

	void SetRepeations(Uint32 SoundId, int count);

private:
	std::map<Uint32, CSound*> m_Sounds;
};

#endif